class Tool(object):   # 类也是对象，我们称为类对象，也是需要内存空间存放，里面的属性称为类属性
    #类属性，定义在方法外面
    num = 0
    #方法
    def __init__(self,new_name):
        #实例属性，和对象有关系，在方法里面定义
        self.name = new_name
        #对类属性 += 1 就可以统计我们创建了多个对象
        Tool.num += 1

tool1 = Tool("铁锹")   # 用Tool创建出来我们原来叫对象，以后改名就叫实例对象，里面存放的属性就叫实例属性，还有一个
#特殊的属性，指向类，能够知道这个对象的class,原因就是如果创建多个对象，不可能每个对象都存储相同的方法占用内存空间
tool2 = Tool("工兵铲")
tool3 = Tool("水桶")

print(Tool.num)
"""
实例属性：和具体的某个实例对象有关系，并且一个实例对象和另外一个实例对象是不共享属性的

类属性：类属性所属于类对象，并且多个实例对象之间，共享同一个类属性,其中一个实例对象修改类属性
其它实例对象会看到新改的值
"""